GtkTreeView: Make a search window destroy helper
authorJonas Ådahl <jadahl@gmail.com>
Sun, 18 Oct 2015 13:12:59 +0000 (21:12 +0800)
committerJonas Ådahl <jadahl@gmail.com>
Tue, 27 Oct 2015 00:41:02 +0000 (08:41 +0800)
https://bugzilla.gnome.org/show_bug.cgi?id=756780

gtk/gtktreeview.c

index 2a3b65b77176eaeafbee55bddcd82972295fd6c9..415a5e6cc045defc674be0a6b83d71082814450d 100644 (file)
@@ -2115,6 +2115,16 @@ gtk_tree_view_free_rbtree (GtkTreeView *tree_view)
   tree_view->priv->prelight_node = NULL;
 }
 
+static void
+gtk_tree_view_destroy_search_window (GtkTreeView *tree_view)
+{
+  gtk_widget_destroy (tree_view->priv->search_window);
+
+  tree_view->priv->search_window = NULL;
+  tree_view->priv->search_entry = NULL;
+  tree_view->priv->search_entry_changed_id = 0;
+}
+
 static void
 gtk_tree_view_destroy (GtkWidget *widget)
 {
@@ -2189,9 +2199,7 @@ gtk_tree_view_destroy (GtkWidget *widget)
   /* destroy interactive search dialog */
   if (tree_view->priv->search_window)
     {
-      gtk_widget_destroy (tree_view->priv->search_window);
-      tree_view->priv->search_window = NULL;
-      tree_view->priv->search_entry = NULL;
+      gtk_tree_view_destroy_search_window (tree_view);
       if (tree_view->priv->typeselect_flush_timeout)
        {
          g_source_remove (tree_view->priv->typeselect_flush_timeout);
@@ -14888,10 +14896,7 @@ gtk_tree_view_set_search_entry (GtkTreeView *tree_view,
     }
   else if (tree_view->priv->search_window)
     {
-      gtk_widget_destroy (tree_view->priv->search_window);
-
-      tree_view->priv->search_window = NULL;
-      tree_view->priv->search_entry_changed_id = 0;
+      gtk_tree_view_destroy_search_window (tree_view);
     }
 
   if (entry)